package com.example.dto;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;

/**
 * 可疑行为记录请求DTO
 * 用于前端提交可疑行为记录数据
 */
@Data
public class SuspiciousBehaviorRecordRequest {
    
    /**
     * 行为类型
     * KEYBOARD_SHORTCUT - 使用禁用快捷键
     * COPY_PASTE - 复制粘贴操作
     * TAB_SWITCH - 切换标签页/窗口
     * MOUSE_LEAVE - 鼠标离开考试区域
     * FULLSCREEN_EXIT - 退出全屏模式
     * WINDOW_FOCUS_LOSS - 窗口失去焦点
     */
    @NotBlank(message = "行为类型不能为空")
    private String behaviorType;
    
    /**
     * 行为详情
     * 包含具体的行为描述、触发的按键组合等详细信息
     */
    private String details;
    
    /**
     * 触发时间戳
     */
    private Long timestamp;
    
    /**
     * 额外的上下文信息（JSON格式字符串）
     */
    private String context;
} 